package com.weiyuwqj.api.service;

import com.weiyuwqj.api.common.Paginator;
import com.weiyuwqj.api.model.BusItemInvest;
import com.weiyuwqj.api.model.vo.InvestDetailVo;
import com.weiyuwqj.api.model.vo.InvestSetVO;
import com.weiyuwqj.api.model.vo.InvestStatVo;
import com.weiyuwqj.api.common.PageList;
import com.weiyuwqj.api.model.vo.BusItemInvestVo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Created by yandq on 15/11/22.
 */

public interface BusInvestService {

    PageList listInvest(Paginator paginator, Map<String, Object> map);

    PageList getList(Paginator p, Map map);

    //后台不分页列表
    List<BusItemInvestVo> listInvest(Map<String, Object> map);

//	/**
//	 * 默认PC端投资
//	 *
//	 * @param userId     用户ID
//	 * @param amount     投资金额
//	 * @param itemId     项目ID
//	 * @param couponId   红包ID
//	 * @param investType 投资类型
//	 * @param ticketId   加息卷
//	 * @return 投资结果
//	 */
//	Map doInvest(Integer userId, Double amount, Integer itemId, Integer couponId, Integer investType, Integer ticketId);

    Map<String,Object> getOne(Integer itemId);

    void investCurrent(Integer userId, Double amount, Integer itemId, Integer couponId);

    //统计待收总金额
    Double sumInvestAccount();

    //统计待收本金
    Double sumInvestPrincipal();

    //统计待收利息
    Double sumInvestInterest();

    //查询个人某时间投资记录4条
    List<Map> getListByUserIdAndTime(Map map);

    //后台首页昨日今日成交量统计
    Map countInvestAmountByTime();
    //后台首页统计用户投资人数，及人次
    Map countInvestNum();

    //后台首页趋势图
    List<Map> getRegionGroupCountInvestList(Map map);
    
    //根据userId和投资类型查询列表
    PageList getListByUserIdAndType(Paginator p, Map map);


    InvestDetailVo getInvestById(Integer investId);

    Date getServerTime();

    /**
     * 根据项目id查询投资列表
     * @param itemId
     * @return
     */
    List<BusItemInvest> getInvestListByItemId(Integer itemId);

    /**
     * 个人中心投资记录：标投资记录，包投资记录，债权投资记录
     * @param userId
     * @return
     */
    PageList getInvestSetList(Paginator p,Integer userId);


}

